# 测试用例：
# 正常情况：
# 使用有效的配置文件路径，检查是否能正常初始化、启动测量、读取信号、停止测量和关闭应用。
# 异常情况：
# 使用无效的配置文件路径，检查是否能正确捕获异常并提示错误。
# 读取不存在的信号名称，检查是否能正确捕获异常并提示错误。
# 在测量未启动时调用stop_measurement，检查是否能正确处理。
# 在应用未启动时调用close_canoe，检查是否能正确处理。
"""
Test scripts/360-stress-009.py, 验证配置有方向盘自定义案件的车型且方向盘自定义按键选择360功能，点击APP退出
需要输入CANoe工程文件路径
需要输入待检测信号的信号名称
"""

# 使用相对导入导入Signal_Check模块
from ..Library import Signal_Check

# 配置文件路径
configuration_path = "path_to_your_canoe_configuration_file.cfg"

# 初始化CANoe
canoe_app = Signal_Check.initialize_canoe(configuration_path, visible=True)

# 启动测量
Signal_Check.start_measurement(canoe_app)

# 需要读取的信号名称
signal_names = ["Usage mode", "AVM status", "AVM code"]

# 读取信号值
signal_values = Signal_Check.read_signals(canoe_app, signal_names)

# 打印信号值
for signal_name, value in signal_values.items():
    print(f"Signal: {signal_name}, Value: {value}")

"""
在Precondition 满足的条件下进入
Action 1: 方向盘自定义案件选择360功能
ER 1：CAN总线消息确认360功能已经选择
Action 2: 点击自定义案件，进入AVM功能
ER 2：利用比图功能确认进入AVM
Action 3: 点击APP 退出AVM
ER 3：利用比图功能确认退出AVM
"""

# 停止测量
Signal_Check.stop_measurement(canoe_app)

# 关闭CANoe
Signal_Check.close_canoe(canoe_app)